// fetch 是基于 Promise 的 api，它可以发送http请求
// 并接收服务器返回的相应数据 fetch 返回的是一个 Promise 对象

// get 请求示例
fetch('https://api.52vmy.cn/api/wl/yan/yiyan')
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.log("fetch error:", error))
    .finally(() => console.log("fetch finally"))

/*
{
  code: 200,
  msg: '成功',
  data: {
    hitokoto: '幸福破灭之时，总是伴随着血腥味。',
    type: '漫画',
    source: '鬼灭之刃',
    author: '吾峠呼世晴',
    length: 16
  }
}
fetch finally
*/

// post 请求 json数据
fetch('http://localhost:52010/customer', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    // JSON.stringify() 用于将对象转换为json字符串
    body: JSON.stringify({
        custName: "张三"
    })
}).then(response => response.json())
    .then(data => console.log("post result data:", data))
    .catch(error => console.log("post error:", error))
    .finally(() => console.log("post finally"))

// post 请求 表单数据
fetch('http://localhost:52010/customer', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded'
    },
    // URLSearchParams 用于将键值对类型的数据转换为url查询字符串
    body: new URLSearchParams ({
        custName: "张三"
    })
}).then(response => response.json())
    .then(data => console.log("post result data:", data))
    .catch(error => console.log("post error:", error))
    .finally(() => console.log("post finally"))

